import request from '@/utils/request'

/**
 *  获取员工的简单列表
 * **/
export function getEmployeeSimple() {
  return request({
    url: '/sys/user/simple'
  })
}

/**
 * 获取员工的综合列表数据
 * ***/
export function getEmployeeList(params) {
  return request({
    url: '/sys/user',
    params
  })
}

/**
 * 根据公司的id获取公司信息
 * @param {String} id - 公司id(在用户信息中)
 * @returns
 */
export const getCompanyById = (id) => {
  return request({
    method: 'get',
    url: `/company/${id}`
  })
}

/**
 * 删除员工接口
 * ****/
export function delEmployee(id) {
  return request({
    url: `/sys/user/${id}`,
    method: 'delete'
  })
}

/** **
 *  新增员工的接口
 * **/
export function addEmployee(data) {
  return request({
    method: 'post',
    url: '/sys/user',
    data
  })
}

/** *
 *  封装一个导入员工的接口
 * ***/
export function importEmployee(data) {
  return request({
    url: '/sys/user/batch',
    method: 'post',
    data
  })
}

/**
 * 批量添加员工
 * @param {*} arr [{}, {}, {}, ...]
 */
export const reqAddEmployeeBatch = (arr) => {
  return request({
    method: 'post',
    url: '/sys/user/batch',
    data: arr
  })
}

/**
 * 更新员工详情的基础信息 (个人详情-下面的接口)
 * @param {*} data 员工信息
 */
export const reqUpdatePersonal = (data) => {
  return request({
    method: 'put',
    url: `/employees/${data.userId}/personalInfo`,
    data
  })
}

/**
 * 读取员工详情的基础信息 (个人详情-下面的接口)
 * @param {*} id 员工id
 */
export const reqGetPersonalDetail = (id) => {
  return request({
    method: 'get',
    url: `/employees/${id}/personalInfo`
  })
}

/** **
 * 获取用户的岗位信息
 *
 * ****/
export function getJobDetail(id) {
  return request({
    url: `/employees/${id}/jobs`
  })
}

/**
 * 保存岗位信息
 * ****/
export function updateJob(data) {
  return request({
    url: `/employees/${data.userId}/jobs`,
    method: 'put',
    data
  })
}

/**
 * 给员工分配角色
 * @param {*} id 员工id
 * @param {*} roleIds 角色id数组
 * @returns
 */
export const assignRole = (id, roleIds) => {
  return request({
    method: 'put',
    url: '/sys/user/assignRoles',
    data: {
      id,
      roleIds
    }
  })
}
